// map K/V avec Date/Saisie (saisie qui peut être supprimée)
// alimenté soit par l'ajout en IHM 
// soit lors du chargement ajax de saisies déjà enregistré en bdd
var mapDateSaisie;
// map K/V avec Date/SaisieValidee (saisie validee : ne peut plus être supprimée)
// alimenté lors du chargement ajax de saisies
var mapDateSaisieValidee;
// map K/V avec Date/Consomme
// permet d'avoir le consomme dans la journée 
// alimenté par saisie IHM ou saisies récupéré en ajax
var mapDateConsomme;
// map K/V avec saisieId/saisieId
// permet d'avoir les saisies déjà enregistré en  bdd à supprimer
// (possible seulement pour les saisies non validee)
var mapSupprimeSaisie;
// map K/V avec date/saisieRecap
// permet d'avoir les lignes à afficher lors du recapitulatif
var mapDateSaisieRecap;
// map K/V avec date/saisieSupprime
// permet d'avoir le recap des lignes supprimes
var mapDateSupprimeRecap;
// map K/V avec date/saisieInput
// permet d'avoir la liste d'input à envoyer en BDD
var mapDateSaisieInput;
//map K/V avec date/saisieInput
//permet d'avoir la liste des saisies sans button supprime
var mapDateSaisieWithoutButton;
// map K/V avec id/Libelle
// permet d'avoir le libelle avec l'id
var mapEtats = new Object();

$(document).ready(function() {
	$("#datepicker").datepicker({dateFormat: 'dd/mm/yy'});
	$("#datepicker").datepicker("setDate",new Date());
	$("#ui-datepicker-div").css("display","none");
	
	$( window ).load(function() {
	
		if(sessionStorage.getItem("idUtilisateur")!=$("#idUtilisateur").val() ||$("#reinit_id").val()=="true"){
			sessionStorage.clear();
		}
		mapDateSaisie = JSON.parse(sessionStorage.getItem("mapDateSaisie"));
		if(mapDateSaisie==null){
			mapDateSaisie= new Object();
		}
		mapDateSaisieValidee =JSON.parse(sessionStorage.getItem("mapDateSaisieValidee"));
		if(mapDateSaisieValidee==null){
			mapDateSaisieValidee= new Object();
		}
		mapDateConsomme= JSON.parse(sessionStorage.getItem("mapDateConsomme"));
		if(mapDateConsomme==null){
			mapDateConsomme= new Object();
		}
		mapSupprimeSaisie = JSON.parse(sessionStorage.getItem("mapSupprimeSaisie"));
		if(mapSupprimeSaisie==null){
			mapSupprimeSaisie=new Object();
		}
		
		mapDateSaisieRecap = JSON.parse(sessionStorage.getItem("mapDateSaisieRecap"));
		if(mapDateSaisieRecap==null){
			mapDateSaisieRecap=new Object();
		}
		
		mapDateSaisieInput = JSON.parse(sessionStorage.getItem("mapDateSaisieInput"));
		if(mapDateSaisieInput==null){
			mapDateSaisieInput=new Object();
		}
		mapDateSupprimeRecap = JSON.parse(sessionStorage.getItem("mapDateSupprimeRecap"));
		if(mapDateSupprimeRecap==null){
			mapDateSupprimeRecap=new Object();
		}
		mapDateSaisieWithoutButton = JSON.parse(sessionStorage.getItem("mapDateSaisieWithoutButton"));
		if(mapDateSaisieWithoutButton==null){
			mapDateSaisieWithoutButton=new Object();
		}
		var date = sessionStorage.getItem("date");
		if(date!=null){
		$("#datepicker").val(date);
		}
		var perimetre =sessionStorage.getItem("perimetre");
		if(perimetre!=null && perimetre!=0){
		 $("#selectPerimetre").val(perimetre);
		 selectActivite();
		}
		var activite = sessionStorage.getItem("activite");
		if(activite!=null && activite!=0){
			$("#selectActivite option:selected").val(activite);
			selectTache();
		}
		chargerSaisies();
		afficher_saisies(date);
		
		});
	
	$( window ).unload(function() {
		sessionStorage.setItem("perimetre", $("#selectPerimetre").val());
		sessionStorage.setItem("activite", $("#selectActivite option:selected").val());
		sessionStorage.setItem("date", $("#datepicker").val());
		sessionStorage.setItem("idUtilisateur",$("#idUtilisateur").val());
		var mapDateSaisieJSON =JSON.stringify(mapDateSaisie);
		sessionStorage.setItem("mapDateSaisie", mapDateSaisieJSON);
		var mapDateSaisieValideeJSON =JSON.stringify(mapDateSaisieValidee);
		sessionStorage.setItem("mapDateSaisieValidee", mapDateSaisieValideeJSON);
		var mapDateConsommeJSON =JSON.stringify(mapDateConsomme);
		sessionStorage.setItem("mapDateConsomme", mapDateConsommeJSON);
		var mapSupprimeSaisieJSON = JSON.stringify(mapSupprimeSaisie);
		sessionStorage.setItem("mapSupprimeSaisie", mapSupprimeSaisieJSON);
		var mapDateSaisieRecapJSON = JSON.stringify(mapDateSaisieRecap);
		sessionStorage.setItem("mapDateSaisieRecap", mapDateSaisieRecapJSON);
		var mapDateSaisieInputJSON = JSON.stringify(mapDateSaisieInput);
		sessionStorage.setItem("mapDateSaisieInput", mapDateSaisieInputJSON);
		var mapDateSupprimeRecapJSON = JSON.stringify(mapDateSupprimeRecap);
		sessionStorage.setItem("mapDateSupprimeRecap", mapDateSupprimeRecapJSON);
		
		var mapDateSaisieWithoutButtonJSON = JSON.stringify(mapDateSaisieWithoutButton);
		sessionStorage.setItem("mapDateSaisieWithoutButton", mapDateSaisieWithoutButtonJSON);
		});
	
	// charge les anciennes saisies au changement de la date
	$("#datepicker").change(function(){
		chargerSaisies();
	});
	// gere le changement de valeur du select des périmetres
	$("#selectPerimetre").change(selectActivite);
	
	// recupere les activites
	function selectActivite() {
		var idPerimetre = $("#selectPerimetre option:selected").val();
		var idUtilisateur = $("#idUtilisateur").val();
		if (idPerimetre == 0 ){
			return;
		}
		
		var data = {
			"idPerimetre" : idPerimetre,
			"idUtilisateur" : idUtilisateur
		};
		$.getJSON('ajax/ajaxGetListeActiviteByPerimetre.action', data, function(data) {
			remplirSelectActivite(data);
		});
	}
	
	// gere le changement de valeur du select des périmetres
	$("#selectActivite").change(selectTache);
	
	// recupere les taches
	function selectTache() {
		var idActivite = $("#selectActivite option:selected").val();
		
		var idUtilisateur = $("#idUtilisateur").val();
		var date = $("#datepicker").val();
		
		if (idActivite == 0){
			return;
		}
		var data = {
			"idActivite" : idActivite,
			"idUtilisateur" : idUtilisateur,
			"date" : date
		};
		$.getJSON('ajax/ajaxGetListeTacheByActivite.action', data, function(data) {
			remplirTableauTache(data);
		});
		
		afficher_saisies(date);
	}
	
	
	// récupere toute les saisies de l'utilisateurs à une date 
	// pour les afficher
	function chargerSaisies(){
		var idUtilisateur = $("#idUtilisateur").val();
		var date = $("#datepicker").val();
		if(idUtilisateur==0 || date==""){
			return
		}
		var data = {
				"idUtilisateur" : idUtilisateur,
				"date" : date
		};
		$.getJSON('ajax/ajaxGetListeTacheByDateSaisie.action', data, function(data) {
			$.each(data.listeTaches, function(i, tache) {
				var perimetreLibelle = tache.activite.perimetre.libelle;
				var activiteLibelle = tache.activite.libelle;
				var tacheLibelle =tache.libelle;
				var tacheId = tache.id;
				var commentaire =tache.commentaire;
			
				$.each(tache.saisieList, function(i, saisie) {
					var consomme = saisie.consomme;
					var raf = saisie.raf;
					var date = $.format.date(saisie.date, "dd/MM/yyyy");
					var etat = saisie.etat.libelle;
					var isValidee = saisie.validee;
					var saisieId = saisie.id;
					var ligne = '<tr>';
					ligne +='<td class=\"tdSaisie\">'+perimetreLibelle+'</td>';
					ligne +='<td class=\"tdSaisie\">'+activiteLibelle+'</td>';
					ligne +='<td class=\"tdSaisie\">'+tacheLibelle+'</td>';
					ligne +='<td class=\"tdSaisie\">'+commentaire+'</td>';
					ligne +='<td class=\"tdSaisie\" id="consomme">'+consomme+'</td>';
					ligne +='<td class=\"tdSaisie\">'+raf+'</td>';
					ligne +='<td class=\"tdSaisie\">'+etat+'</td>';
					var mapSaisieWithoutButton = mapDateSaisieWithoutButton[date]
					if(mapSaisieWithoutButton==null){
						mapSaisieWithoutButton= new Object();
						mapDateSaisieWithoutButton[date]= mapSaisieWithoutButton;
					}
					mapSaisieWithoutButton[tacheId]=ligne;
					if(isValidee){
						var mapSaisieValidee = mapDateSaisieValidee[date];
						if(mapSaisieValidee==null){
							mapSaisieValidee = new Object();
							mapDateSaisieValidee[date]= mapSaisieValidee;
						}
						if(mapSaisieValidee[tacheId]!=null){
							return true;
						}
						ligne +='<td class=\"tdSaisie\">Validée</td>';
						ligne +='</tr>';
						mapSaisieValidee[tacheId]=ligne;
						ajouter_consomme_map(date, consomme);
					}else{
						var mapSaisie = mapDateSaisie[date];
						if(mapSaisie==null){
							mapSaisie = new Object();
							mapDateSaisie[date]= mapSaisie;
						}
						if(mapSaisie[tacheId]!=null){
							return true;
						}
						ligne +='<td class=\"tdSaisie\"><button class="btn btn-danger btn-xs" onclick="supprimer_saisie_physique('+tacheId+',\''+date+'\',\''+consomme+'\',\''+saisieId+'\')"><i class="fa fa-trash-o "></i></button></td>';
						ligne +='</tr>';
						mapSaisie[tacheId]=ligne;
						ajouter_consomme_map(date, consomme);
					}
					
				});
			});
			afficher_saisies(date)
		});
	}
	// rempli le select avec les activités associées au périmetre
	function remplirSelectActivite(data) {
		$("#selectActivite option").remove();
		$("#selectActivite").removeAttr("disabled");
		var options;
		options += '<option value=\"'+0+'\" selected>'+'-- Choisissez une activité --'+'</option>';	
		$.each(data.listeActivites, function(i, activite) {
				options += '<option value=\"'+activite.id+'\">'+activite.libelle+'</option>';
		});
		$("#selectActivite").html(options);
		var activiteId = sessionStorage.getItem("activite");
		var perimOldId=sessionStorage.getItem("perimetre");
		var perimId= $("#selectPerimetre").val();
		if(activiteId!=null && activiteId!=0&& perimId==perimOldId){
		$("#selectActivite").val(activiteId);
		}
	}
	
	// rempli le tableau des taches
	function remplirTableauTache(data){
		var ligne = '';
		var consomme="";
		var raf="";
		$.each(data.listeTaches, function(i, tache) {
			var perimetreLibelle = tache.activite.perimetre.libelle;
			var activiteLibelle = tache.activite.libelle;
			var tacheLibelle =tache.libelle;
			var idTache = tache.id;
			var commentaire =tache.commentaire;
			if(tache.saisie!=null){
			 consomme = tache.saisie.consomme;
			 raf = tache.saisie.raf;
			}
			var consommeTotal = tache.consommeTotal;
			var chargeInit = tache.chargeInit;
			var derive = chargeInit - (consommeTotal+raf);
			var cssDerive = 'deriveOK';
			if(derive<0){
				cssDerive ='deriveKO';
			}
			
			var date = $.format.date(tache.dateDebut, "dd/MM/yyyy");
			ligne += '<tr>';
			ligne +='<td class=\"tdSaisie\">'+tacheLibelle+'</td>';
			ligne +='<td class=\"tdSaisie\">'+date+'</td>';
			ligne +='<td class=\"tdSaisie\">'+chargeInit+'</td>';
			ligne +='<td class=\"tdSaisie\">'+consommeTotal+'</td>';
			ligne +='<td class=\"tdSaisie\" id='+cssDerive+'>'+derive+'</td>';
			ligne +='<td class=\"tdSaisie\" ><div class="inputTd"> <input id=\"'+'inputCommentaire'+idTache+'\" class="form-control" name="commentaire" type="text" placeholder="'+commentaire+'" size="1"/></div></td>';
			ligne +='<td class=\"tdSaisie\" ><div class="inputTd"> <input id=\"'+'inputConsomme'+idTache+'\" class="form-control" name="consomme" type="text" placeholder="'+consomme+'" size="1"/></div></td>';
			ligne +='<td class=\"tdSaisie\" ><div class="inputTd"> <input id=\"'+'inputRaf'+idTache+'\" class="form-control" name="raf" type="text" placeholder="'+raf+'" size="1"/></div></td>';
			ligne +='<td class=\"tdSaisie\"><select id="etat'+idTache+'" >';
			$.each(data.listeEtats, function(i, etat) {
				var idEtat= etat.id;
				var libelleEtat = etat.libelle;
				ligne +='<option value="'+idEtat+'">'+libelleEtat+'</option>';
				if(mapEtats[idEtat]==null ||mapEtats[idEtat]==''){
					mapEtats[idEtat] = libelleEtat;
				}
			});
			ligne +='</select></td>';
			ligne +='<td class=\"tdSaisie\"><a class="lien" href="#" onclick="ajouter_saisie_ihm('+idTache+',\''+tacheLibelle+'\',\''+activiteLibelle+'\',\''+perimetreLibelle+'\')">	Ajouter</a></td>';
			ligne +='</tr>';
		});
		$("#tacheTab").html(ligne);
	}
	
	$("#datepicker").change(date_change);
	
	function date_change(){
		$("#ui-datepicker-div").css("display","none");
		selectTache();
		afficher_saisies($("#datepicker").val());
	}


	// ouverture de la pop-up
	$("#valider_saisie_button").click(function(e) {
		$("#formSaisie").html("");
		// trier la map par date
		mapDateSaisieRecap = sortObj(mapDateSaisieRecap);
		var lignes='';
		lignes+='<thead>';
		lignes+='<tr>';
		lignes+='<th class="thSaisie">Perimétre</th>';
		lignes+='<th class="thSaisie">Activité</th>';
		lignes+='<th class="thSaisie">Tache</th>';
		lignes+='<th class="thSaisie">Commentaires</th>';
		lignes+='<th class="thSaisie">Consommé</th>';
		lignes+='<th class="thSaisie">RAF</th>';
		lignes+='<th class="thSaisie">Etat</th>';
		lignes+='</tr>';
		lignes+='</thead>';
		$.each(mapDateSaisieRecap, function( index,valueMapSaisieRecap ) {
			// Verifier qu'il y a des saisies à cette date
			if(!isSaisieDate(valueMapSaisieRecap)){
				// s'il n'y a pas de saisie, on passe à la prochaine iteration
				return true;
			}
			lignes+='<thead>';
			lignes+='<tr>';
			lignes+='<th class="thSaisie" colspan="7">'+index+'</th>';
			lignes+='</tr>';
			lignes+='</thead>';
			lignes+='<tbody>';
			$.each(valueMapSaisieRecap, function( tacheId,valueSaisie ) {
				if(valueSaisie!=null && valueSaisie!=''){
					valueSaisie = valueSaisie.split("tdSaisie").join("tdSaisieAdd");
					lignes +=valueSaisie;
				}
			});
			lignes+='</tbody>';
		});
		$("#recap_saisies_tab").html(lignes);
		
		var lignesSupp='';
		$.each(mapDateSupprimeRecap, function( index,valueMapSaisieSuppRecap ) {
			// Verifier qu'il y a des saisies à cette date
			if(!isSaisieDate(valueMapSaisieSuppRecap)){
				// s'il n'y a pas de saisie, on passe à la prochaine iteration
				return true;
			}
			lignesSupp+='<thead>';
			lignesSupp+='<tr>';
			lignesSupp+='<th class="thSaisie" colspan="7">'+index+'</th>';
			lignesSupp+='</tr>';
			lignesSupp+='</thead>';
			lignesSupp+='<tbody>';
			$.each(valueMapSaisieSuppRecap, function( tacheId,valueSaisie ) {
				if(valueSaisie!=null && valueSaisie!=''){
					valueSaisie = valueSaisie.split("tdSaisie").join("tdSaisieSupp");
					lignesSupp +=valueSaisie;
				}
			});
			lignesSupp+='</tbody>';
		});
		$("#recap_saisies_tab").append(lignesSupp);
		$.each(mapDateSaisieInput, function( index,valueMapSaisieInput ) {
			mapSaisieInput=valueMapSaisieInput;
			$.each(mapSaisieInput, function( index,valueSaisieInput ) {
				if(valueSaisieInput!=null && valueSaisieInput!=''){
					$("#formSaisie").append(valueSaisieInput);
				}
			});
		});
		$.each(mapSupprimeSaisie, function( index,valueMapSupprimeSaisie ) {
			if(valueMapSupprimeSaisie!=null&& valueMapSupprimeSaisie!=''){
				$("#formSaisie").append('<input type="hidden" name="idSaisieTab" value="'+ valueMapSupprimeSaisie + '" />');
			}
		});
		$("#formSaisie").append('<span class="tdSaisieAdd">Saisies ajoutées</span> <br>');
		$("#formSaisie").append('<span class="tdSaisieSupp">Saisies supprimées</span>');
		$("#formSaisie").append('<div id="confirmer_saisies"> <button type="submit" class="btn btn-round btn-warning">Confirmer</button> </div>');
		$("#popup_block").css("display", "block");
		$("#contenair_popup_valider_saisie").css("display", "block");
	});
	
	function isSaisieDate(mapSaisieRecap){
		var isSaisie=false;
		$.each(mapSaisieRecap, function( index,valueSaisie ) {
			if(valueSaisie!=null && valueSaisie!=''){
				isSaisie= true;
			}
		});
		return isSaisie;
	}
	
	// trier un object avec la date
	function sortObj(arr){
		// Setup Arrays
		var sortedKeys = new Array();
		var sortedObj = {};

		// Separate keys and sort them
		for (var i in arr){
			sortedKeys.push(i);
		}
		sortedKeys.sort(function(a,b){
			fromDateA = a.split("/");
			fromDateB = b.split("/");
			var dateA = new Date(fromDateA[2], fromDateA[1] - 1, fromDateA[0]);
			var dateB = new Date(fromDateB[2], fromDateB[1] - 1, fromDateB[0]);
			return dateA > dateB;
		});
		
		// Reconstruct sorted obj based on keys
		for (var i in sortedKeys){
			sortedObj[sortedKeys[i]] = arr[sortedKeys[i]];
		}
		return sortedObj;
	}

	// fermeture de la popup
	$("#close_pop_valider_saisie").click(
			function(e) {
				$("#popup_block").css("display", "none");
				$("#contenair_popup_valider_saisie").css(
						"display", "none");
	});

});

function ajouter_saisie_ihm(tacheId,libelle,activiteLibelle,perimetreLibelle){
	$("#erreur").css("display","none");
	var commentaire =$("#inputCommentaire"+tacheId).val();
	var consomme =$("#inputConsomme"+tacheId).val();
	var raf =$("#inputRaf"+tacheId).val();
	var etat=$("#etat"+tacheId).val();
	var datePick = $("#datepicker").val();
	ajouter_saisie(tacheId, libelle, commentaire, consomme, raf, etat,datePick,activiteLibelle,perimetreLibelle)

}
function ajouter_saisie(tacheId,libelle,commentaire,consomme,raf,etat,date,activiteLibelle,perimetreLibelle){
	if((raf=="" && etat!=3) || consomme==""){
		$("#erreur").css("display","block");
		$("#erreur").html("Le raf ou le consomme n'a pas été saisie");
		return;
	}
	
	if(consomme>1){
		$("#erreur").css("display","block");
		$("#erreur").html("Le consomme totale de la journée ne peut pas être supperieur à 1");
		return;
	}
	var check = consomme*100;
	if(check%5!=0){
		$("#erreur").css("display","block");
		$("#erreur").html("Le consomme doit être un multiple de 0.05");
		return;
	}
	if(etat==3 && raf!=0){
		$("#erreur").css("display","block");
		$("#erreur").html("Il ne peut pas y avoir de raf si la tache est terminée");
		return;
	}
	if(!verifier_consomme(consomme, date)){
		$("#erreur").css("display","block");
		$("#erreur").html("Le consomme totale de la journée ne peut pas être supperieur à 1");
		return ;
	}
	
	if(raf==""){
		raf=0;
	}
	var ligneRecap;
	var ligne = '<tr>';
	ligne +='<td class=\"tdSaisie\">'+perimetreLibelle+'</td>';
	ligne +='<td class=\"tdSaisie\">'+activiteLibelle+'</td>';
	ligne +='<td class=\"tdSaisie\">'+libelle+'</td>';
	ligne +='<td class=\"tdSaisie\">'+commentaire+'</td>';
	ligne +='<td class=\"tdSaisie\" id="consomme">'+consomme+'</td>';
	ligne +='<td class=\"tdSaisie\">'+raf+'</td>';
	ligne +='<td class=\"tdSaisie\">'+mapEtats[etat]+'</td>';
	ligneRecap=ligne+'</tr>';
	ligne +='<td class=\"tdSaisie\"><button class="btn btn-danger btn-xs" onclick="supprimer_saisie_logique('+tacheId+',\''+date+'\',\''+consomme+'\')"><i class="fa fa-trash-o "></i></button></td>';
	ligne +='</tr>';
	var mapSaisie = mapDateSaisie[date];
	if(mapSaisie==null){
		mapSaisie = new Object();
		mapDateSaisie[date]= mapSaisie;
	}
	if(mapSaisie[tacheId]!=null&&mapSaisie[tacheId]!=""){
		$("#erreur").css("display","block");
		$("#erreur").html("Une saisie existe déjà pour cette tache à cette date, veuillez la supprimer afin de modifier");
		return;
	}
	var mapSaisieValidee = mapDateSaisieValidee[date];
	if(mapSaisieValidee!=null && mapSaisieValidee[tacheId] != null && mapSaisieValidee[tacheId] != ""){
		$("#erreur").css("display","block");
		$("#erreur").html("Erreur de données, contactez l'administrateur ");
		return;
	}
	mapSaisie[tacheId]=ligne;
	// ajoute la ligneRecap à la map recapitulatif
	var mapSaisieRecap = mapDateSaisieRecap[date];
	if(mapSaisieRecap==null){
		mapSaisieRecap = new Object();
		mapDateSaisieRecap[date]=mapSaisieRecap;
	}
	mapSaisieRecap[tacheId]=ligneRecap;
	ajouter_saisie_input(tacheId, consomme, raf, commentaire, date, etat);
	ajouter_consomme_map(date, consomme);
	afficher_saisies(date);
}

function ajouter_saisie_input(idTache,consomme,raf,commentaire,date,etat){
	var mapSaisieInput = mapDateSaisieInput[date];
	if(mapSaisieInput==null){
		mapSaisieInput= new Object();
		mapDateSaisieInput[date]= mapSaisieInput;
	}
	if(commentaire==null || commentaire==''){
		commentaire='-1';
	}
	var ligne='';
	ligne += '<input type="hidden" name="idTacheTab" value="'+ idTache + '" />';
	//TODO : trouver une solution
	var consommeVirgule = consomme;
	if(consomme.length>0){
		consommeVirgule = consomme.split(".").join(",");
	}
	ligne += '<input type="hidden" name="consommeTab" value="'+ consommeVirgule + '" />';
	var rafVirgule=raf;
	if(raf.length>0){
		rafVirgule=raf.split(".").join(",");
	}
	ligne += '<input type="hidden" name="rafTab" value="'+ rafVirgule + '" />';
	ligne += '<input type="hidden" name="commentaireTab" value="'+ commentaire + '" />';
	ligne += '<input type="hidden" name="dateTab" value="'+ date + '" />';
	ligne += '<input type="hidden" name="etatTab" value="'+ etat + '" />';
	mapSaisieInput[idTache]=ligne;
}
function supprimer_saisie_physique(tacheId,date,consomme,saisieId){
	//  ajouter saisie id dans une map, verifier que la map n'est pas null 
	// et verifie que l'id n'y est pas déjà
	if(mapSupprimeSaisie[saisieId]==null || mapSupprimeSaisie[saisieId]==""){
		mapSupprimeSaisie[saisieId]= saisieId;
	}
	// recupere la map de recap des saisies à supprimer
	var mapSupprimeRecap = mapDateSupprimeRecap[date]
	if(mapSupprimeRecap==null){
		mapSupprimeRecap= new Object();
		mapDateSupprimeRecap[date]= mapSupprimeRecap;
	}
	
	// ajoute la ligne
	var	mapSaisie = mapDateSaisieWithoutButton[date];
	if(mapSaisie!=null && mapSaisie[tacheId]!=null){
		mapSupprimeRecap[tacheId] = mapSaisie[tacheId]
	}
	supprimer_saisie_logique(tacheId, date, consomme);
}

function supprimer_saisie_logique(tacheId,date,consomme){
	mapSaisie= mapDateSaisie[date];
	mapSaisie[tacheId]="";
	mapSaisieRecap = mapDateSaisieRecap[date];
	if(mapSaisieRecap!=null && mapSaisieRecap[tacheId]!=null){
		mapSaisieRecap[tacheId]="";
	}
	mapSaisieInput = mapDateSaisieInput[date];
	if(mapSaisieInput!=null && mapSaisieInput[tacheId]!=null){
		mapSaisieInput[tacheId]="";
	}
	supprimer_consomme_map(date, consomme)
	afficher_saisies(date);
}

function afficher_saisies(date){
	var lignes="";
	mapSaisie= mapDateSaisie[date];
	mapSaisieValidee= mapDateSaisieValidee[date];
	if(mapSaisie!=null){
		$.each(mapSaisie, function( index,valueSaisie ) {
			lignes +=valueSaisie;
		});
	}
	if(mapSaisieValidee!=null){
		$.each(mapSaisieValidee, function( index,valueSaisie ) {
			lignes +=valueSaisie;
		});
	}
	if(lignes==""){
		$("#col-md-12-saisie").css("display","none");
	}else{
		$("#col-md-12-saisie").css("display","block");
	}
	$("#dateSaisie").html(date);
	$("#saisieTab").html(lignes);
	
	maj_consomme_journee(date);
}

// verifie que le consomme total de la journée ne depasse pas 1
// return true si c'est ok
function verifier_consomme(consomme,date){
	// si le consomme > 1, KO
	if(consomme>1){
		return false;
	}
	
	// s'il n'y a pas eu de consommation, ok
	var recup =mapDateConsomme[date];
	if(recup==null){
		return true;
	}
	// si le consommé total depasse 1
	if((parseFloat(recup)+parseFloat(consomme))>1){
		return false;
	}
	return true;
}

// ajoute la conso à la map
function ajouter_consomme_map(date,consomme){
	var recup =mapDateConsomme[date];
	
	if(recup==null){
		mapDateConsomme[date]=consomme;
	}else{
		var total =parseFloat(recup)+parseFloat(consomme);
		mapDateConsomme[date]= total;
	}
}

// supprime la conso de la map
function supprimer_consomme_map(date,consomme){
	var recup =mapDateConsomme[date];
	
	if(recup==null){
		mapDateConsomme[date]=consomme;
	}else{
		var total =parseFloat(recup)-parseFloat(consomme);
		mapDateConsomme[date]= total;
	}
}

// met à jour le conso de la journée
function maj_consomme_journee(date){
	var conso = mapDateConsomme[date];
	if(conso==null || conso==0){
		$("#consommeJournee").css("color","red");
		$("#consommeJournee").html("0");
	}else if(conso==1){
		$("#consommeJournee").css("color","green");
		$("#consommeJournee").html(conso);
	}else{
		$("#consommeJournee").css("color","red");
		$("#consommeJournee").html(conso);
	}

}
